Any device that captures data from the real world needs a preprocessing filter to clean the signal from noise, or attenuate irrelevant signal features that the users wants to avoid. Moreover, filters are used as models in machine learning and control applications. In addition to be application specific, the development of these filters is a complex process that is both time consuming and computationally intensive.